Java 특징
Java는 구문이 간결하고, 객체지향언어이다.(OPP, Object Oriented Programming)
이식성이 높고, 기계 중립적 언어이다.(JVM만 있으면 어디서든지 동작)
멀티 스레드를 지원
.java 코드를 통해서 .class 생성
변수와 데이터 형식
public class exam02{
public static void main(String args[]){
int var1=10;
float var2=10.1f;
double var3=10.2;
char var4='안';
String var5="안드로이드";
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
System.out.println(var5);
}
}
기본적인 데이터 형식
- 문자형
char- 2byte
String
- 정수형(signed)
byte- 1byte(-128-127)
short- 2byte(-32768-32767)
int- 4byte
long- 8byte
- 실수형
float- 4byte
double- 8byte(float보다 정밀도가 높다)
- 불리언형
boolean- 1byte(true of false)
Java에서 타입이 다른 변수끼리 연산 시행시 오류 발생
정수형으로 나누기 연산(‘ / ‘)하면 몫만 return
‘i=i+1' == 'i++' == ‘i+=1'
조건문
if, else
if(조건식){
}
if(조건식){
}else{
}
if(조건식1){
}else if(조건식2){
}else{
}
switch
switch(값){
case 값1:
break;
case 값2:
break;
...
default:
break;
}
배열여러 데이터를 한 변수에 저장하는데 사용
일차원배열: one[4];
이차원배열: two[3][4];
배열 선언방법이 c++가 유사
int one[]=new int[4];
one[0]=10;
one[3]=20;
int two[][]=new int[3][4];
two[0][0]=100;
two[2][3]=200;
반복문
for
for(초기식; 조건식; 증감식){
}
for(변수형 변수: 배열명){
}
배열 지원 for문 예시
String two[]={"하나", "둘", "셋"};
for(String str: two){
System.out.println(str);
}
while
전역변수(global variable) & 지역변수(local variable)
public class exam05{
static int var=100;
public static void main(String args[]){
int var=0;
System.out.println(var);
int sum=addFunction(10, 20);
System.out.println(sum);
}
static int addFunction(int num1, int num2){
int hap;
hap=num1+num2+var;
return hap;
}
}
메소드-> 기능 처리 위의 코드에서 3-8은 Main 메소드
static 은 정적 함수로 메모리를 공유해서 사용(정적 메모리 할당)
메소드 내에서 동일한 이름의 전역, 지역 변수를 호출할 때, 지역 변수가 우선으로 호출된다.
Exception Handling
public class exam06{
static int var=100;
public static void main(String args[]){
int num1=100, num2=0;
try{
System.out.println(num1/num2);
}
catch(java.lang.ArithmeticException e){
System.out.println("계산에 문제가 있습니다.");
System.out.println(e);
}
}
}
try 구문에서 에러 발생시, catch로 에러코드 전송
자주 사용하는 연산자
+, -, *, /, % // %는 나머지
+, - // 부호 연산자로 변수, 수, 식 앞에 붙일 수 있다.
= // 대입 연산자로 오른쪽을 왼쪽으로 대입
++, — // 1씩 증가 또는 감소
==, !=, <, >, >=, <= // 비교 연산자
&&, || // 논리연산자 and, or
&, |, ^, ~ // 비트연산자로, 비트 단위로 and, or, exclusive or, not 연산
<<, >> // 시프트 연산자로, 비트 단위로 왼쪽 또는 오른쪽으로 이동
+=, -=, *=, /= // 복합 대입 연산자
(데이터 형식) // 캐스트(cast) 연산자, 데이터 형식을 강제로 변환 ex) int a=(int)3.5-내림해서 3으로 저장